package com.xuecheng.media.controller;

import com.xuecheng.api.content.model.MediaApi;
import com.xuecheng.api.media.model.dto.MediaDTO;
import com.xuecheng.api.media.model.vo.MediaVO;
import com.xuecheng.common.util.SecurityUtil;
import com.xuecheng.media.convert.MediaConvert;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;

@Slf4j
@RestController
public class MediaController implements MediaApi {

    @Autowired
    private MediaService  mediaService;

    @PostMapping("media")
    public MediaDTO createMedia(@RequestBody MediaVO mediaVO) {

        Long companyId = SecurityUtil.getCompanyId();

        MediaDTO mediaDTO = MediaConvert.INSTANCE.vo2dto(mediaVO);
        mediaDTO.setCompanyId(companyId);

        MediaDTO result = mediaService.createMedia(mediaDTO);

        return result;
    }
}
